package com.wpen.unit.infra.repository.job;

import java.io.Serializable;
import java.util.List;

import com.wpen.unit.infra.mybatis.job.po.JobExec1LogPo;

/**
 * 任务作业执行1日志维护.
 * 
 * @author Wang Peng
 * @date 2022-12-06
 */
public interface JobExec1LogRepository {
	
	public JobExec1LogPo queryByIdAndTime(Serializable id, Long taskTriggerTime);

	public boolean updateByIdWithNull(JobExec1LogPo jobExec1LogPo);

	public List<JobExec1LogPo> queryListByBatchId(Long batchLogId, Long batchTriggerTime);

	public List<JobExec1LogPo> queryListByBatchId(Long batchLogId, List<Long> taskLogIds);

	/**
	 * 查询记录条数.
	 * 
	 * @param index         起始索引号
	 * @param size          查询条数
	 * @param jobExec1LogPo 条件对象
	 * @return 条数
	 */
	public long count(JobExec1LogPo jobExec1LogPo);

	/**
	 * 查询记录列表.
	 * 
	 * @param index         起始索引号
	 * @param size          查询条数
	 * @param jobExec1LogPo 条件对象
	 * @return 数据列表
	 */
	public List<JobExec1LogPo> queryList(int index, int size, JobExec1LogPo jobExec1LogPo);

	/**
	 * 根据条件查询单条记录，如果多条符合条件，只返回第一条.
	 * 
	 * @param jobExec1LogPo 条件对象
	 * @return 数据对象
	 */
	public JobExec1LogPo queryFirst(JobExec1LogPo jobExec1LogPo);

	/**
	 * 根据主键查询单条记录.
	 * 
	 * @param id 编号
	 * @return 数据对象
	 */
	public JobExec1LogPo queryById(Serializable id);

	/**
	 * 插入单条记录.
	 * 
	 * @param jobExec1LogPo 待保存对象
	 * @return 影响条数
	 */
	public boolean insert(JobExec1LogPo jobExec1LogPo);

	/**
	 * 插入多条记录.
	 * 
	 * @param listJobExec1LogPos 待保存列表对象
	 * @return 影响条数
	 */
	public boolean insertBatch(List<JobExec1LogPo> listJobExec1LogPos);

	/**
	 * 根据条件更新记录. 实现类内部实现版本号+1操作.
	 * 
	 * @param jobExec1LogPo 待更新对象
	 * @return 影响条数
	 */
	public boolean updateById(JobExec1LogPo jobExec1LogPo);

	/**
	 * 根据主键删除记录.
	 * 
	 * @param id 编号
	 * @return 影响条数
	 */
	public boolean deleteByIds(Serializable[] ids);

}
